Crate unicode_linebreak
source ·Expand description
Implementation of the Line Breaking Algorithm described in Unicode Standard Annex #14.
Given an input text, locates “line break opportunities”, or positions appropriate for wrapping lines when displaying text.
Example
use unicode_linebreak::{linebreaks, BreakOpportunity::{Mandatory, Allowed}};
let text = "a b \nc";
assert!(linebreaks(text).eq([
(2, Allowed), // May break after first space
(5, Mandatory), // Must break after line feed
(6, Mandatory) // Must break at end of text, so that there always is at least one LB
]));
Enums
- Unicode line breaking class.
- Break opportunity type.
Constants
- The Unicode version conformed to.
Functions
- Returns the line break property of the specified code point.
- Returns an iterator over line break opportunities in the specified string.
- Divides the string at the last index where further breaks do not depend on prior context.